There are a number of IP-based mobile devices that are able to (1) capture and locally record on the device pictures and multimedia content (defined as video and audio) and (2) transmit data from the device to another IP-based device or server accessible via (or simply “on”) the Internet. Examples of such devices include camera phones and cameras (e.g. camcorders) with an IP endpoint.
There are a number of technical challenges and limitations that need to be overcome to achieve high quality multimedia transmission from mobile devices for live and on-demand viewing on other mobile devices or personal computers (PCs). Such technical challenges include the following.
First, live (i.e., real-time) multimedia streaming requires low latency (or delay) at each point in the transmission, i.e., (a) from the sending client at capture time (b) through the client software on the sending client, (c) through the servers on the Internet that perform any needed transcoding, and (d) to the receipt and rendering of the multimedia data streams on rendering applications (e.g., browsers and media players) that run on receiving mobile devices, PCs, or other devices.
Second, engineering systems to deliver video in real-time with minimal latency can conflict with delivering the best possible quality video for playback. It is technically challenging to both optimize real-time streaming quality and experience for users viewing streams live and optimize the quality of the streams for a playback mode. Users may desire the same data stream to be both available live and for playback without compromises to either quality or latency.
Third, the available wireless links can have limited bandwidth as well as varying available bandwidth during the course of a single multimedia capture session.
Fourth, there is limited space on the sending mobile device for temporarily or permanently storing the multimedia files.
Fifth, there is limited computational and battery capacity on the sending mobile device that needs to be optimally utilized.
Sixth, there are different types of codecs with differing technical characteristics on the various sending and receiving endpoints.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.